package com.lanchetech.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

/**
 * 聊天记录
 */
@ApiModel(value = "com-lanchetech-entity-Msg")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class Msg implements Serializable {
    @ApiModelProperty(value = "")
    private Long id;

    /**
     * 发送者用户id
     */
    @ApiModelProperty(value = "发送者用户id")
    private Long fromId;

    /**
     * 接收者用户id
     */
    @ApiModelProperty(value = "接收者用户id")
    private Long toId;

    /**
     * 商家id
     */
    @ApiModelProperty(value = "商家id")
    private Long tenantId;

    /**
     * 消息作用类型 0 普通类型 1 平台客服
     */
    @ApiModelProperty(value = "消息作用类型 0 普通类型 1 平台客服")
    private Byte msgType;

    /**
     * 消息内容
     */
    @ApiModelProperty(value = "消息内容")
    private String content;

    /**
     * 消息内容类型
     */
    @ApiModelProperty(value = "消息内容类型")
    private String type;

    /**
     * 扩展字段JSON
     */
    @ApiModelProperty(value = "扩展字段JSON")
    private String feature;

    /**
     * 消息状态 0 未读 1 已读
     */
    @ApiModelProperty(value = "消息状态 0 未读 1 已读 ")
    private Byte isRead;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Date createdAt;

    /**
     * 对话id，格式 小id:大id
     */
    @ApiModelProperty(value = "对话id，格式 小id:大id")
    private String chatId;

    private static final long serialVersionUID = 1L;

    public static MsgBuilder builder() {
        return new MsgBuilder();
    }
}